package com.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.project.bean.RoleBean;

import java.util.List;

public interface IRoleService {
    /**
     * 动态分页查询角色集合
     * @param pageNo    页码
     * @return  分页对象
     */
    IPage<RoleBean> findByItem(Integer pageNo);

    /**
     * 删除角色
     * 1、通过角色id删除用户角色中间表
     * 2、通过角色id删除权限角色中间表
     * 3、通过角色id删除角色
     * @param roleId    角色id
     */
    void delRole(Integer roleId);

    /**
     * 添加角色
     * @param roleBean  角色对象
     * @param gradeIds  权限数组
     */
    void addRole(RoleBean roleBean,Integer[] gradeIds);

    /**
     * 添加角色--根据角色名字查找角色
     * 添加角色之前
     * @param roleName  角色名
     * @return  角色对象
     */
    RoleBean findRoleByRoleName(String roleName);

    /**
     * 查看角色信息
     * 同时查询角色拥有的权限集合
     * @param roleId    角色id
     * @return  角色对象
     */
    RoleBean findById(Integer roleId);

    /**
     * 查看所有权限信息
     * @return  权限集合
     */
    List<RoleBean> findAll();

    /**
     * 修改角色权限
     * @param roleId    角色id
     * @param gradeIds  用户新权限id数组
     */
    void updateRoleGradeById(Integer roleId,Integer[] gradeIds);
}
